.. _ecdoPutMulti: ecdoPutMulti ============ ------------ SYNOPSYS ````````````` .. code-block:: none t_success ecdoPutMulti( t_i32 NetID, t_ui32 IniChannel, t_ui8 NumChannels, t_dword dwOutStates, t_i32 *ErrCode) t_bool ecdoPutMulti_L( t_i32 NetID, t_ui16 SlvPhysAddr, t_ui32 IniLocalChannel, t_ui8 NumChannels, t_dword dwOutStates, t_i32 *ErrCode) DESCRIPTION ````````````` - ecdoPutMulti 함수는 다중 채널에 대한 디지털 출력 상태를 발생시킵니다. - ecdoPutMulti_L 함수는 지역 채널 방식으로 다중 채널에 대한 디지털 출력 상태를 발생시킵니다. PARAMETER ````````````` - NetID : Network 번호 - IniChannel : 시작 채널 번호 - IniLocalChannel : 시작 채널 번호 (지역 채널) - SlvPhysAddr: 슬레이브 주소 - NumChannels : 시작 채널로부터 몇 개의 채널의 상태를 확인할 것인지에 대한 값 - dwOutStates : ecdoPutMulti() 함수의 인자이며, 다중 채널에 대한 디지털 출력상태를 발생합니다. - ErrCode : 이 매개 변수를 통하여 현재의 에러 코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다. RETURN VALUE ````````````` - 함수의 수행 성공 여부를 반환합니다. +-------+------------------------------------+ | Value | Meaning | +=======+====================================+ | 0 | 출력 발생에 실패했음을 의미합니다. | +-------+------------------------------------+ | 1 | 출력 발생에 성공했음을 의미합니다. | +-------+------------------------------------+ EXAMPLE ````````````` .. code-block:: cpp :linenos: #include "ComiEcatSdk_Api.h" #define NUMCHNNELS 2 //사용자가 확인 할 채널 수를 입력 t_32 Error_Num = 0;//함수 별 에러 코드 저장 변수 void DO_PutMulti(void) { TEcSlvTypeInfo pTypeInfoBuf // 구조체 관련 내용 9장 참고 t_i16 DO_InitCh = 0; //시작 채널 번호 저장 변수 t_dword dwOutStates = 0; //여러 수의 출력 값을 2진수로 표현. ex) 0번 3번 ON -> 1001 DO_InitCh = pTypeInfoBuf . DO. StaGlobChannel; //구조체 할당 후 DI 시작 채널 얻어 옴 if(!ecdoPutMulti (Device_Info.NetIdx, DO_InitCh, NUMCHNNELS, dwOutStates, &Error_Num)) { //DO 실패 시 예외 처리 } } // DO_ PutMulti 함수 종료 void DO_GetMulti(void) { TEcSlvTypeInfo pTypeInfoBuf // 구조체 관련 내용 9장 참고 t_i16 DO_InitCh = 0; //시작 채널 번호 저장 변수 t_dword dwOutStates = 0; DO_InitCh = pTypeInfoBuf . DO. StaGlobChannel; //구조체 할당 후 DI 시작 채널 얻어 옴 dwOutStates = ecdoGetMulti (Device_Info.NetIdx DO_InitCh, NUMCHNNELS &Error_Num); } // DO_ GetMulti 함수 종료 .. seealso:: :ref:`ecdoGetMulti`